Doom Emacs 包管理
Doom Emacs 不使用内置于 Emacs 的 package.el,而是基于 straight.el 构建了自己的声明式包管理器。
如何安装包
在 Doom Emacs 打开状态下,SPC f p 打开配置:
首先打开 .doom.d/package.el,声明包依赖,比如:
(package! copilot
  :recipe (:host github :repo "zerolfx/copilot.el" :files ("*.el" "dist")))
之后关闭当前文件,执行 doom refresh。
再打开 .doom.d/config.el 进行包的设置:
(use-package! copilot
  :hook (prog-mode . copilot-mode)
  :bind (:map copilot-completion-map
              ("<tab>" . 'copilot-accept-completion)
              ("TAB" . 'copilot-accept-completion)
              ("C-TAB" . 'copilot-accept-completion-by-word)
              ("C-<tab>" . 'copilot-accept-completion-by-word)))
更多设置技巧:
- def-package!用于设置包的宏- space h help查找方法的 man pages
- :init初始化回调
- :config初始化后的设置回调
- :after制定本包在哪个包之后加载
 
包的声明方式
基础安装方式
包在 packages.el 文件中声明。例如:
(package! example)
新包的安装需要运行 doom sync。
从外部源安装包
可以直接从外部源(如 GitHub、GitLab 等)安装包,需要指定 MELPA 样式的 straight 配方。例如:
(package! example :recipe (:host github :repo "username/my-example-fork"))
指定特定提交
Doom 的包默认被固定到特定提交。可以使用 :pin 属性或 unpin! 宏来固定或取消固定包。
禁用包
使用 :disable 属性或 disable-packages! 宏来禁用不需要的包。
使用/加载本地包
如果正在本地开发一个 Emacs 包并希望进行实时测试,可以在包的配方中指定 :local-repo。例如:
(package! my-package :recipe (:local-repo "/path/to/my/package"))
本文作者:Maeiee
本文链接:Doom Emacs 包管理
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!
